﻿#region Copyright
/// <copyright>
/// Copyright (c) 2008 Ilia Shramko.
/// Released under the terms of the GNU General Public License.
/// </copyright>
#endregion

using System;
using System.Collections.Generic;
using System.Text;

namespace Osh.Dvb
{
	/// <summary>
	/// The Program Map Table provides the mappings between program numbers and the program elements that comprise them.
	/// A single instance of such a mapping is referred to as a "program definition".
	/// The program map table is the complete collection of all program definitions for a Transport Stream.
	/// See ISO/IEC 13818-1 for more information.
	/// </summary>
	public class ProgramMapTable
	{
		private int _programNumber;
		private int _pcrPid;
		private List<ProgramElementDefinition> _programElements = new List<ProgramElementDefinition>();

		public ProgramMapTable()
		{
		}

		public int ProgramNumber
		{
			get { return _programNumber; }
			set { _programNumber = value; }
		}

		public int PcrPid
		{
			get { return _pcrPid; }
			set { _pcrPid = value; }
		}

		public IList<ProgramElementDefinition> ProgramElements
		{
			get { return _programElements; }
		}
	}
}
